package collection;

import java.util.Comparator;
import java.util.TreeSet;

/**
 * TreeSet
 */
public class TreeSet_ {

    public static void main(String[] args) {

        /*
            当使用无参构造器， 创建TreeSet 时，仍然是无序的
            如果希望添加的元素是按照字符串大小排序
            可以使用TreeSet提供的一个构造器，可以传入一个比较器(匿名内部类) 并指定排序规则
         */

        TreeSet treeSet = new TreeSet(new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                //下面 调用String的 compareTo方法进行字符串大小比较
                return ((String) o2).compareTo((String) o1);
//                return ((String) o1).length()- ((String) o2).length();
            }
        });

        //添加数据.
        treeSet.add("jack");
        treeSet.add("tom");//3
        treeSet.add("sp");
        treeSet.add("a");
        treeSet.add("abc");//3

        System.out.println("TreeSet: " + treeSet);//TreeSet: [tom, sp, jack, abc, a]
    }
}
